// 统一管理用户的相关接口
import request from "@/utils/request";
import type { LoginForm, LoginResData, userInfoResData } from "./type";

// 统一管理用户相关的接口
enum API {
    LOGIN_URL = '/admin/acl/index/login', // 登录接口
    USERINFO_URL = '/admin/acl/index/info', // 获取用户信息接口 
    LOGOUT_URL = '/admin/acl/index/logout', // 退出登录接口
}

// 用户登录
// Promise<T>的泛型T代表promise进行resolve的值的类型，resolve(value)
export const reqUserLogin = (data: LoginForm): Promise<LoginResData> => request({
    url: API.LOGIN_URL,
    method: 'POST',
    data
})

// 获取用户信息
export const reqUserInfo = (): Promise<userInfoResData<string>> => request({
    url: API.USERINFO_URL,
    method: 'GET'
})

// 退出登录
export const reqUserLogout = (): Promise<any> => request({
    url: API.LOGOUT_URL,
    method: 'POST'
})